
package com.be.beadmin.quality.service;

import com.be.beadmin.quality.dto.input.ComplaintFileInfoPage;
import com.be.beadmin.quality.entity.ComplaintFileInfo;
import com.be.beadmin.quality.dto.output.ComplaintFileInfoEx;
import com.be.beadmin.quality.dto.input.ComplaintFileInfoDto;
import com.be.beadmin.quality.dto.input.ComplaintFileInfoQueryCriteria;
import org.springframework.data.domain.Page;
import com.be.beadmin.common.entity.PageEntity;
import org.springframework.data.domain.Pageable;
import org.springframework.web.multipart.MultipartFile;

import java.util.Map;
import java.util.List;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse;

/**
* @description 服务接口
* @author twl
* @date 2023-09-21
**/
public interface ComplaintFileInfoService {

    /**
    * 分页的查询接口
    * @param pageEntity
    * @return
    */
    Page<ComplaintFileInfoEx> getComplaintFileInfoByPage(PageEntity pageEntity);

    /**
     * 分页的查询接口
     * @param complaintFileInfoPage
     * @return
     */
    Page<ComplaintFileInfoEx> getComplaintFileInfoByPageAndCP(ComplaintFileInfoPage complaintFileInfoPage);

    /**
     *@param complaintId
     *@param multipartFiles
     *@param state
     *@param bucketName
    */
    void addComplaintFileInfo(String complaintId, MultipartFile[] multipartFiles,Integer state,String bucketName);

    /**
    * @param complaintFileInfoDto
    */
    void updateComplaintFileInfo(ComplaintFileInfoDto complaintFileInfoDto);

    /**
    * @param id
    */
    void delComplaintFileInfo(String id);

    /**
    * 删除多个角色
    * @param ids
    */
    void delComplaintFileInfos (List<String> ids);

    /**
     * 查找投诉单对应附件
     * @param complaintId
     */
    void getComplaintFileInfosByComplaintId(String complaintId);

}